package Ali;

/**
 * 编写一个高效的算法来判断 m x n 矩阵中，是否存在一个目标值。该矩阵具有如下特性：
 *
 * 每行中的整数从左到右按升序排列。
 * 每行的第一个整数大于前一行的最后一个整数。
 * @author gaolainan
 */
public class Test17
{
    public static void main(String[] args)
    {
        int[][] res = {{1,3,5,7},{10,11,16,20},{23,30,34,60}};
        int target = 2;
        System.out.println(searchMatrix(res,target));
    }

    public static boolean searchMatrix(int[][] matrix, int target) {
        int i = matrix[0].length-1;
        int j = 0;

        while(i >= 0 && j < matrix.length){
            if (target == matrix[j][i]){
                return true;
            }else if (target < matrix[j][i]){
                i--;
            }else{
                j++;
            }
        }
        return false;
    }
}
